Skip to content

v0.7.0#307

Merged
timplay33 merged 74 commits intomc1.21.1/mainfrom
mc1.21.1/dev
Mar 17, 2026
Merged

v0.7.0#307
timplay33 merged 74 commits intomc1.21.1/mainfrom
mc1.21.1/dev

Conversation

@timplay33
Copy link
Copy Markdown
Owner

Additions

Bug Fixes

- Modifying infrastructure to allow players to request bees
- Adding Address to TrashMenu
- Syncing Address to Server for a persistent address
- fixed by replacing a line that didn't consider whether the bee has a package
- Refactor hasSpace Functions

fixes #301
Add comprehensive admin/OP command system for managing logistics networks:

- /cmp network list: Display all networks with details
  * Shows network name, short ID, player count
  * Displays lock status and owner information
  * Only lists named networks (filters out unnamed networks)

- /cmp network add <player> <networkId>: Add a player to a network
  * Argument order: player first, then network ID
  * Auto-completes to named networks only
  * Prevents adding players to unnamed networks

- /cmp network remove <player> <networkId>: Remove a player from a network
  * Argument order: player first, then network ID
  * Auto-completes to networks the player is part of
  * Prevents removing players from networks they're not in

Features:
- Full command auto-completion with intelligent filtering
- Clear success feedback messages
- Admin/OP permission level 2 requirement for all commands
- Null-safe checks for player lookups and network data

Resolves server owner requests for easier network management on larger servers.
  - New button that toggles between normal delivery and return mode
  - In return mode, Robo Bees spawned from that port fly back to their origin port after successful player delivery
Fixes the issue where the Portable Stock Ticker address was reset every
time a player logs back into the world or restarts the game.

Changes:
- Created SavePortableStockTickerAddressPacket to persist address on server
- Modified PortableStockTickerScreen to:
  * Load address directly from ItemStack in init() method (works in Curios slot)
  * Sync address to server whenever it changes (containerTick)
  * Save address when screen closes (onClose)
- Registered new packet in CMPPackets enum

Technical Details:
- Address is now stored in ItemStack's DataComponent (persistent storage)
- Fallback chain: ItemStack > in-memory > last known value
- Works correctly with items in Curios slot or regular inventory
- Minimal overhead: only syncs when address actually changes

Fixes:
- Address persists across world reloads
- Address persists across game restarts
- Works with items in any inventory slot (including Curios)
Added setup instructions and images for Robo Bee and Portable Stock Ticker.
* New translations en_us.json (French)

* New translations en_us.json (French)

* New translations en_us.json (German)

* New translations en_us.json (Japanese)

* New translations en_us.json (Polish)

* New translations en_us.json (Russian)

* New translations en_us.json (Swedish)

* New translations en_us.json (Chinese Simplified)

* New translations en_us.json (Portuguese, Brazilian)
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Release v0.7.0 changes for the Create: Mobile Packages mod, adding new logistics/QoL features (Bee Port return mode, admin network commands, Portable Stock Ticker trash pickup) and fixing several reported issues.

Changes:

  • Added Bee Port “Return Mode” toggle and supporting Robo Bee targeting/serialization behavior.
  • Added Portable Stock Ticker Trash Menu + persistence/sync + Robo Bee pickup mission flow.
  • Added /cmp network ... admin commands and addressed several PST/port bug reports.

Reviewed changes

Copilot reviewed 43 out of 45 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/main/resources/assets/create_mobile_packages/textures/gui/trash_menu.png New Trash Menu GUI texture.
src/main/resources/assets/create_mobile_packages/textures/gui/icons.png New icon atlas for custom GUI icons (return/direct).
src/main/resources/assets/create_mobile_packages/lang/zh_cn.json Added new translation keys for network settings, return mode tooltips, trash menu.
src/main/resources/assets/create_mobile_packages/lang/sv_se.json Added new translation keys for network settings, return mode tooltips, trash menu.
src/main/resources/assets/create_mobile_packages/lang/ru_ru.json Added new translation keys for network settings, return mode tooltips, trash menu.
src/main/resources/assets/create_mobile_packages/lang/pt_br.json Added new translation keys for network settings, return mode tooltips, trash menu.
src/main/resources/assets/create_mobile_packages/lang/pl_pl.json Added new translation keys for network settings, return mode tooltips, trash menu.
src/main/resources/assets/create_mobile_packages/lang/ja_jp.json Added new translation keys for network settings, return mode tooltips, trash menu.
src/main/resources/assets/create_mobile_packages/lang/fr_fr.json Updated French translations; added new keys for network settings, return mode tooltips, trash menu.
src/main/resources/assets/create_mobile_packages/lang/en_us.json Added new en_US keys for network settings, return mode tooltips, trash menu.
src/main/resources/assets/create_mobile_packages/lang/de_de.json Added new keys; localized return-mode tooltips.
src/main/java/de/theidler/create_mobile_packages/robo/VirtualRobo.java Persist home port + return-mode flag; prefer home port targeting after delivery; request lifecycle adjustments.
src/main/java/de/theidler/create_mobile_packages/robo/RoboTrashStore.java New persisted model for per-player/network trash slots + target address.
src/main/java/de/theidler/create_mobile_packages/robo/RoboTarget.java Updated target validation API to accept the active VirtualRobo.
src/main/java/de/theidler/create_mobile_packages/robo/RoboManager.java Added trash store persistence and pickup-request scheduling; adjusted request handling to use RoboTarget/Vec3.
src/main/java/de/theidler/create_mobile_packages/robo/PlayerTarget.java Updated validation signature and toast type based on mission (deliver vs pickup).
src/main/java/de/theidler/create_mobile_packages/robo/BeePortBlockEntityTarget.java Updated validation logic to consider package-vs-no-package capacity rules.
src/main/java/de/theidler/create_mobile_packages/network_settings/RequestNetworkDataPacket.java Removed verbose debug logging.
src/main/java/de/theidler/create_mobile_packages/network_settings/NetworkHelper.java Removed verbose debug logging.
src/main/java/de/theidler/create_mobile_packages/network_settings/AddPlayerToNetworkPackage.java Removed debug logging; no functional change.
src/main/java/de/theidler/create_mobile_packages/items/robo_bee/RoboBeeItem.java Updated robo spawn call signature to include return-mode flag.
src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/TrashScreen.java New Trash Menu screen with address box + server sync.
src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/TrashMenu.java New Trash Menu container with server persistence and pickup-safe clearing behavior.
src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/SyncTrashItemsToClientPacket.java New clientbound sync packet for trash slot items.
src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/SyncTrashAddressToClientPacket.java New clientbound sync packet for trash target address.
src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/SyncTrashAddressPacket.java New serverbound packet to persist trash target address.
src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/trash_menu/OpenTrashMenuPacket.java New serverbound packet to open Trash Menu and sync address.
src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/SavePortableStockTickerAddressPacket.java New serverbound packet to persist PST address to the item stack.
src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/RequestStockUpdate.java Fix: send empty list packet when network stock becomes empty.
src/main/java/de/theidler/create_mobile_packages/items/portable_stock_ticker/PortableStockTickerScreen.java Added trash menu button; persist PST address across restarts by syncing to stack.
src/main/java/de/theidler/create_mobile_packages/index/CMPPackets.java Registered new packets (trash menu, address sync, return mode toggle, PST address save).
src/main/java/de/theidler/create_mobile_packages/index/CMPMenuTypes.java Registered new Trash Menu type + screen.
src/main/java/de/theidler/create_mobile_packages/index/CMPIcons.java New icon helper for custom GUI icons.
src/main/java/de/theidler/create_mobile_packages/index/CMPGuiTextures.java Registered Trash Menu texture segment.
src/main/java/de/theidler/create_mobile_packages/index/CMPCommands.java Added /cmp network list/add/remove admin commands.
src/main/java/de/theidler/create_mobile_packages/entities/robo_entity/RoboEntity.java Show player name in nametag when targeting a player.
src/main/java/de/theidler/create_mobile_packages/entities/robo_entity/RoboBeeState.java Added PICKUP_PACKAGE state.
src/main/java/de/theidler/create_mobile_packages/entities/robo_entity/RoboBeeBehaviorController.java Implemented pickup mission flow from player trash slots.
src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/ToggleBeeReturnModePacket.java New serverbound packet to toggle Bee Port return mode.
src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/RoboRequest.java Reworked requests to hold a RoboTarget, mission type, and Vec3 target position.
src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/BeePortScreen.java Added return-mode toggle buttons to Bee Port GUI.
src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/BeePortMenu.java Exposed return-mode state via container data.
src/main/java/de/theidler/create_mobile_packages/blocks/bee_port/BeePortBlockEntity.java Persisted return-mode; updated capacity checks; updated request creation API.
README.md Updated documentation for NeoForge support, new features, and commands; added screenshots.
CHANGELOG.md Added v0.7.0 “unreleased” changelog entry matching PR features/fixes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@timplay33 timplay33 merged commit 3e8e741 into mc1.21.1/main Mar 17, 2026
4 checks passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in Create: Mobile Packages Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants